package acm.蓝桥杯模拟;

import java.math.BigInteger;
import java.util.Arrays;
import java.util.BitSet;

public class Main {
    public static void main(String[] args) {
//        System.out.println(check(599));
//        int[] primes = getPrimes(1000000);
//        int res=0;
//        for (int i = 0; i < primes.length; i++) {
//            if (check(primes[i])) {
//                res++;
//            }
//        }
//        System.out.println(res);
        BigInteger b=new BigInteger("12345678901234567890123456789012345678901234567890");
        System.out.println(b.mod(new BigInteger("2023")));
    }
    public static boolean check(int n){
        int mod=10;
        int res=0;
        while (n!=0){
            res+=n%mod;
            n/=mod;
        }
        return res==23;
    }

    public static int[] getPrimes(int n){
        BitSet set=new BitSet(n+1);
        set.set(1);
        int[] primes=new int[n];
        int cnt=0;
        for (int i = 2; i <= n; i++) {
            if (!set.get(i)){
                primes[cnt++]=i;
            }
            for (int j = 0; primes[j]*i<=n; j++) {
                set.set(i*primes[j]);
                if (i%primes[j]==0){
                    break;
                }
            }
        }
        return Arrays.copyOf(primes,cnt);
    }

}
